Comment sécuriser le code généré par l’IA
Si 56,4 % des utilisateurs rapportent que l’IA suggère souvent du code vulnérable, peu d’entre eux ont modifié leurs processus pour renforcer la sécurité dans ce domaine : les bons comportements pour réduire les risques inhérents à l’IA ne suivent pas.
Résumé
Les outils de codage par IA ont connu un succès fulgurant. Dans notre enquête portant sur 537 professionnels de la sécurité ou de l’ingénierie logicielle, 96 % des équipes affirment utiliser des outils de codage par IA dans leur chaîne d'approvisionnement. Malgré ce taux d'adoption élevé, il ressort que l’IA génère souvent du code vulnérable. Parmi les personnes sondées, plus de la moitié déclarent que les outils de codage par IA suggèrent fréquemment du code non sécurisé. Pourtant, moins de 10 % des organisations dont elles font partie automatisent la majorité de leurs analyses de sécurité. En outre, 80 % des développeurs contournent les politiques de sécurité dédiées au code généré par IA. Pour limiter les risques et la dépendance excessive à l'IA, les équipes technologiques doivent instaurer les bonnes mesures de sécurité en vue de gérer ce rythme de développement accru, automatiser davantage les processus de sécurité et former les développeurs à l'utilisation sécurisée des suggestions de l'IA.
Première partie
Les risques liés à l'externalisation de la sécurité du code vers l'IA
Les réponses à l'enquête montrent que la complétion du code par IA introduit des risques de sécurité dans le cycle de développement. Pire encore, les développeurs contournent activement les politiques d'utilisation de l'IA, le tout dans un cadre exempt de garde-fous appropriés comme l'analyse automatisée du code. Le code open source est particulièrement exposé, car les outils de codage de l'IA accélèrent les processus et suggèrent des modules open source dont les équipes n’ont pas le temps de valider la sécurité de façon programmatique.
Les développeurs ignorent le fait que l’IA génère du code non sécurisé.
En décembre 2022, StackOverflow a interdit toute publication de contenu généré par ChatGPT sur son site, déclarant que « les réponses fournies par ChatGPT sont trop rarement correctes ». Cette décision fait écho aux conclusions de différentes études de renom menées par la New York University et la Stanford University, qui notent que les outils de complétion de codage par IA font régulièrement des suggestions peu sûres et que les codeurs qui font un usage intensif de ces outils produisent davantage de code vulnérable.
Dans notre enquête, 75,8 % des personnes interrogées estiment que le code provenant de l'IA était plus sûr que le code humain. Cette confiance excessive montre que les organisations ne font pas assez pour sécuriser leur processus de développement face aux outils de codage par IA et pour sensibiliser leurs équipes technologiques aux risques connus de la génération automatisée de code.
Pourcentage de codeurs soumettant des réponses sûres à des questions de codage (utilisant l'IA vs n'utilisant pas l'IA)
Utilise l’IA
N’utilise pas l’IA
80%
60%
40%
20%
0%
0%
20%
40%
60%
80%
Chiffrement et déchiffrement
Signature d’un message
Répertoire en sandbox
SQL
Source : Do Users Write More Insecure Code with AI Assistants?, Stanford University
56,4 % des professionnels relèvent souvent des failles de sécurité dans le code fourni par l'IA
Les répondants, qui ont adopté en masse les outils de complétion de code par IA et qui estiment avoir une bonne confiance dans le code généré, reconnaissent pourtant à 56,4 % que l'IA pose parfois ou fréquemment des problèmes de sécurité.
Face à ce taux élevé de code potentiellement défectueux, toutes les suggestions des outils d'IA doivent faire l’objet d’une vérification et d’un audit. Bien que les personnes interrogées affirment que les problèmes de sécurité liés aux suggestions de code sont courants, 75,4 % d'entre elles estiment que les correctifs suggérés par l'IA sont sûrs ou très sûrs, ce qui indique un biais cognitif profond extrêmement néfaste pour la sécurité des applications.
À quelle fréquence rencontrez-vous un problème de sécurité dû à un code suggéré par un outil d'IA ?
Fréquemment
20%
Parfois
35%
Rarement
34%
Rarement
5%
Je ne sais pas
3%
Comment évaluez-vous la sécurité des correctifs suggérés par l'IA ?
60%
50%
40%
30%
20%
10%
0%
0%
10%
20%
30%
40%
50%
60%
Excellente
Bonne
Acceptable
Mauvaise
Non applicable
Excellente
Bonne
Acceptable
Mauvaise
Non applicable
80 % des développeurs contournent les politiques d’utilisation de l'IA, mais seuls 10 % d’entre eux analysent la majorité du code ainsi généré
Alors que la plupart des organisations interrogées disposent de politiques autorisant au moins une certaine utilisation des outils d'IA, l'écrasante majorité d'entre elles rapportent que ces règles sont contournées par les développeurs. Autrement dit, la confiance qu’ils accordent au code produit par l'IA les incite à ignorer la politique instaurée par leur organisation.
Cela engendre un risque énorme, car si les entreprises adoptent l'IA de façon fulgurante, elles pensent rarement à automatiser leurs processus de sécurité pour protéger leur code. Dans notre étude, seuls 9,7 % des répondants rapportent que leur équipe a automatisé au moins 75 % des analyses de sécurité, alors même que les outils basés sur l’IA accélèrent la livraison de code. Or, le manque de conformité aux politiques et la production accrue de code rendent les scans de sécurité automatisés plus importants que jamais.
Dans votre organisation, les développeurs contournent-ils les politiques de sécurité pour utiliser des outils de complétion de code par IA ?
Tout le temps
23%
La plupart du temps
31%
De temps en temps
25%
Rarement
12%
Rarement
7%
Quelle proportion de vos scans de sécurité est automatisée ?
50%
40%
30%
20%
10%
0%
0%
10%
20%
30%
40%
50%
1-25 %
26-50 %
51-75 %
76-100 %
1-25 %
26-50 %
51-75 %
76-100 %
L'IA fragilise la chaîne d'approvisionnement open source
Dans notre enquête, 73,2 % des personnes interrogées déclarent avoir contribué au code de projets open source : c’est donc pour eux un domaine familier. Malgré cette connaissance, peu d'entre eux utilisent des pratiques de sécurité avancées et fiables pour valider la sécurité des suggestions de code provenant des outils d'IA. Seuls 24,6 % d’entre eux utilisent l'analyse de la composition du logiciel (SCA) pour vérifier la sécurité du code suggéré par les outils d'IA. Et comme tout va plus vite avec l’IA, il est probable que toujours plus de composants open source non sécurisés soient acceptés dans le code.
Les outils de code par IA utilisant des algorithmes d'apprentissage par renforcement pour améliorer et affiner leurs résultats. Par conséquent, à mesure que les utilisateurs valident les composants open source non sûrs qui figurent dans leurs suggestions, les systèmes d'IA seront plus susceptibles de qualifier ces composants de sécurisés, même si ce n'est pas le cas. À terme, cela peut créer une boucle de rétroaction dangereuse et conduire à davantage de suggestions non sécurisées.
Utilisez-vous des outils de complétion de code par IA sur des projets open source ?
Oui
83%
Non
16%
Comment faites-vous pour vérifier la sécurité des paquets et des bibliothèques open source inclus dans le code suggéré par l'IA ?
60%
40%
20%
0%
0%
20%
40%
60%
Informations du registre ou du package manager
Notes du référentiel
Activité de la communauté
Politique de divulgation responsable (p. ex. SECURITY.md)
Score de sécurité
Outil SCA
Avis sur le code
Je ne vérifie pas la sécurité des paquets open source suggérés par l’IA
Informations du registre ou du package manager
Notes du référentiel
Activité de la communauté
Politique de divulgation responsable (p. ex. SECURITY.md)
Score de sécurité
Outil SCA
Avis sur le code
Je ne vérifie pas la sécurité des paquets open source suggérés par l’IA
L'IA est vue comme un maillon de la chaîne d'approvisionnement, mais les pratiques de sécurité évoluent timidement
55,1 % des personnes interrogées rapportent que leur entreprise voit désormais la complétion de code par IA comme un maillon à part entière de la chaîne d'approvisionnement logicielle. Mais cela ne semble pas pour autant les inciter à revoir en profondeur leurs processus de sécurité des applications. Si la majorité des répondants déclarent que leur équipe a apporté au moins un changement aux pratiques de sécurité logicielle après l’adoption d'outils de complétion de code par IA, les pourcentages globaux restent faibles.
Par exemple, le changement le plus fréquent parmi les entreprises a été de multiplier les scans de sécurité, mais cela ne concerne que 18,4 % des organisations. Cette inertie peut s’expliquer en partie par la fausse perception selon laquelle les suggestions de l'IA sont plus sûres que le code humain. Quand on opère de grands changements dans ses processus, il est généralement nécessaire de passer en revue la gestion des risques pour adapter sa posture aux nouvelles menaces soulevées par ce mode de travail inédit.
Votre organisation considère-t-elle que la complétion de code par IA fait partie de sa chaîne d'approvisionnement logicielle ?
Oui
55%
Non
22%
Je ne sais pas
19%
Non applicable
2%
Comment votre organisation a-t-elle changé ses pratiques de sécurité des logiciels en lien avec la complétion de code par IA ?
20%
15%
10%
5%
0%
0%
5%
10%
15%
20%
Audits du code plus fréquents
Audits du code plus détaillés
Scans de sécurité plus fréquents
Ajout de nouveaux outils
Automatisation de la sécurité
Ajout de nouveaux processus de sécurité (SBOM, SALSA, etc.)
Aucun changement
Audits du code plus fréquents
Audits du code plus détaillés
Scans de sécurité plus fréquents
Ajout de nouveaux outils
Automatisation de la sécurité
Ajout de nouveaux processus de sécurité (SBOM, SALSA, etc.)
Aucun changement
Suivez les bonnes pratiques pour un développement sûr avec l'IA
Découvrez nos 10 conseils pour atténuer efficacement les risques de l’IA tout en tirant le plein parti de ses avantages en matière de développement.
Deuxième partie
Les développeurs reconnaissent qu’il faut se méfier de l’IA
Si les développeurs jugent que le code généré par l’IA est sûr, une grande majorité d’entre eux redoute que les outils de complétion ne créent à terme plus d’insécurité et fassent naître chez eux une dépendance excessive. Les organisations qui restreignent l'utilisation de l'IA le font avant tout pour des questions de qualité du code et de sécurité. Les personnes interrogées reconnaissent qu'un nombre important d'équipes AppSec peinent à suivre le rythme de livraison de code imprimé par l’IA. Tout cela souligne qu'il est nécessaire d’adapter ses processus aux outils d’IA – en intensifiant les scans de sécurité automatisés – et de former les développeurs en continu pour les sensibiliser aux risques réels du code suggéré par l'IA.
86 % des répondants sont préoccupés par la sécurité de l'IA
L'écrasante majorité des personnes interrogées se disent inquiètes de l’impact de l'utilisation des outils de complétion de code par IA sur la sécurité. Fait intéressant, elles affirment aussi avec une grande confiance que l’IA peut générer du code sûr et suggérer des correctifs qui renforcent la sécurité. Cela semble contradictoire.
Cette dissonance peut être le résultat d'une mentalité de groupe : les développeurs, voyant tout le monde autour d’eux utiliser les outils de codage par IA, sont convaincus de leur fiabilité. Mais quand ils réfléchissent à la question, ils reconnaissent que l'IA peut être plus dangereuse qu’il n’y paraît en injectant du code non sécurisé qu'ils ont du mal à repérer sans garde-fous exhaustifs.
Dans quelle mesure êtes-vous préoccupé par les implications plus larges de l'utilisation d'outils de complétion de code par IA sur la sécurité ?
Très inquiet
37%
Assez inquiet
49%
Pas inquiet
13%
Les enjeux de sécurité et de confidentialité motivent la restriction de l’IA
Parmi le petit nombre d'entreprises qui restreignent les outils de codage par l'IA en partie ou en totalité, la plupart le font pour des raisons de sécurité du code (57 %), de confidentialité des données (53,8 %) et de qualité du code (46,4 %). Tous les grands motifs de restriction sont liés à la sécurité, ce qui illustre les inquiétudes des dirigeants quant aux effets négatifs ou non atténués potentiels de la complétion du code par IA.
Si votre organisation restreint l'utilisation des outils de codage de l'IA, quelles sont les raisons avancées ?*
60%
40%
20%
0%
0%
20%
40%
60%
Problématique de sécurité
Problématique de confidentialité
Problématique de qualité
Coûts prohibitifs
Manque d’intérêt de la direction
Aucune de ces raisons
Problématique de sécurité
Problématique de confidentialité
Problématique de qualité
Coûts prohibitifs
Manque d’intérêt de la direction
Aucune de ces raisons
Les développeurs redoutent une dépendance excessive envers l'IA
Une préoccupation fréquente réside dans l’instauration d’une dépendance trop forte des développeurs envers l’IA, avec à la clé la perte de leur capacité à écrire du code par eux-mêmes ou à effectuer les tâches de codage clés qu’ils confient à l'IA. Selon certaines études, les employés qui s'appuient trop sur l'IA sont moins aptes à reconnaître les bonnes solutions, qui peuvent parfois être atypiques ou ne pas rentrer dans le moule. Les personnes interrogées partagent cette préoccupation, 45 % d'entre elles se disant plutôt inquiètes et 40 % très inquiètes, ce qui montre qu’elles ont conscience des risques inhérents à une trop grande externalisation de leur métier vers l'IA.
Dans quelle mesure êtes-vous préoccupé par une dépendance excessive des développeurs envers les outils de complétion de code par IA ?
Très inquiet
40%
Assez inquiet
46%
Pas inquiet
14%
58,7 % des équipes AppSec ont du mal à suivre le rythme
Les outils de codage par IA ont pour effet de doper la productivité et sans doute d’accélérer la vitesse de production du code, voire le nombre de lignes de code produites. Aussi, nous voulions savoir si cela mettait plus de pression sur les équipes AppSec. Il ressort de notre enquête que la moitié des équipes AppSec sont à la peine dans une certaine mesure, et qu’un cinquième d'entre elles éprouvent de grandes difficultés à suivre le nouveau rythme de complétion de code imprimé par l’IA. Cela n’est pas surprenant quand les outils de complétion de code par IA augmentent la productivité de façon significative. Cela met également en lumière les défis créés par l'ajout d'une pression supplémentaire à un processus qui, même avant l'IA, avait souvent du mal à suivre le rythme de développement des logiciels.
Votre équipe AppSec/de sécurité a-t-elle du mal à suivre le rythme accru imprimé par les outils de complétion de code par IA ?
Beaucoup de difficultés
20%
Quelques difficultés
38%
Pas de difficultés
35%
Pas concerné
6%
Conclusion
Pour corriger les failles de l'IA, il faut former les développeurs et automatiser la sécurité
Si les développeurs ont tendance à faire confiance aux suggestions de codage de l'IA, les études démontrent pourtant que les failles y sont monnaie courante. Ce paradoxe s’illustre dans les réponses plutôt contradictoires de cette enquête ; la majorité des participants (y compris les experts en sécurité) jugent que les suggestions de code de l'IA sont sûres, tout en admettant qu’elles sont aussi souvent vulnérables.
Il s'agit d'un problème de perception et d'éducation, alimenté par la pensée de groupe, le phénomène de preuve sociale et la tendance naturelle de l’être humain à faire confiance aux systèmes qui semblent faire autorité. La croyance infondée selon laquelle les outils de codage basés sur l'IA sont très précis et moins faillibles que les humains est devenue parole d’évangile pour de nombreuses personnes. Pour contrer cette erreur de perception néfaste, les organisations doivent redoubler leurs efforts en matière de formation à l’IA et sécuriser leur code généré par la machine en utilisant des outils de sécurité de référence.
À propos de cette étude
L'enquête était constituée de 30 questions sur la façon dont les organisations perçoivent et utilisent les outils de complétion de code par IA et de codage génératif. Elle a été menée auprès de 537 personnes travaillant dans le domaine de la technologie. Parmi elles, 45,3 % étaient originaires des États-Unis, 30,9 % du Royaume-Uni et 23,6 % du Canada. Nous avons demandé aux personnes interrogées de décrire leur rôle en sélectionnant tous les titres qui s'appliquaient. Les rôles les plus cités étaient : gestion des développeurs (42,1 %), développeur (37,6 %), gestion IT (30,9 %) et gestion de la sécurité (30,7 %). Cela indique que le panel comprenait une part importante de répondants occupant un rôle de direction. Les répondants étaient répartis entre différents secteurs, dont 21 % dans le secteur SaaS/Technologie (le seul secteur totalisant plus de 20 % des réponses), 17,1% dans le service aux entreprises et 11,2 % dans les services financiers/la fintech (les seuls secteurs à dépasser la barre des 10 %). Le panel de l'enquête était principalement composé de structures de taille moyenne,avec 48,6 % des répondants faisant partie d’une entreprise de 500 employés ou moins, contre 12,8% seulement d’entreprises de plus de 5 000 employés. Les répondants utilisaient également une grande variété d'outils de codage, notamment ChatGPT (70,3 %), Amazon CodeWhisperer (47,4 %), GitHub Copilot (43,7 %), VisualStudio Intellicode (35,8 %) et Tabnine (19,9 %). Ces pourcentages sont tirés d'une question à choix multiples et le niveau d’utilisation élevé pour plusieurs d’entre eux indique que les répondants utilisent probablement plusieurs outils de codage par IA dans leur travail, potentiellement pour différentes tâches.
Découvrez Snyk, un allié pour sécuriser votre outil de codage par IA
Assurez gratuitement la sécurité du code généré par l’IA avec Snyk.